package com.yami.shop.rights.common.model;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

@Data
@Schema(description ="商品权益")
@TableName("tz_prod_rights")
public class ProdRights {

  @Schema(description = "权益ID")
  @TableId(type = IdType.AUTO)
  private long id;

  @Schema(description = "权益名称")
  private String rightsName;

  @Schema(description = "权益关联ID根据权益类型分类( 1：实物ID 2:优惠券ID 4：抽奖活动ID 5:盲盒活动ID)")
  private String prodId;

  @Schema(description = "权益类型(1:普通权益2:实物权益3:优惠券权益4:抽奖权益5:赠送盲盒权益6:增加限购权益7:单方空投权益8:双方空投权益)")
  private String type;

  @Schema(description = "权益状态")
  private long status;

  @Schema(description = "权益绑定二级ID")
  private long dawId;

  @Schema(description = "权益开始时间")
  private java.sql.Timestamp exchangeStartTime;

  @Schema(description = "权益结束时间")
  private java.sql.Timestamp exchangeEndTime;

  @Schema(description = "权益兑换规则")
  private long exchangeRule;

  @Schema(description = "权益兑换类型")
  private long exchangeModel;

  @Schema(description = "兑换个数")
  private long drawCount;

  @Schema(description = "是否删除币")
  private long isDelDaw;

  @Schema(description = "创建人")
  private long createAt;

  private java.sql.Timestamp createTime;

  private java.sql.Timestamp updateTime;

  @Schema(description = "详细描述")
  private String content;

  @Schema(description = "优先购类型1:指定商品2:不指定商品")
  private Long preemptionType;

  @Schema(description = "是否可分享")
  private Integer isShare;

  @Schema(description = "分享次数")
  private Integer shareNum;

  @Schema(description = "分享是否可逆")
  private Integer isReverse;

  @TableField(exist = false)
  @Schema(description = "膨胀系数")
  private Float coefficient;

  @TableField(exist = false)
  @Schema(description = "膨胀最大值")
  private Float maxData;

  @TableField(exist = false)
  @Schema(description = "膨胀基础值")
  private Float expansionData;

  @Schema(description = "优先购绑定商品信息")
  @TableField(exist = false)
  private List<ProdRightsPreemption> preemptions;

  @TableField(exist = false)
  @Schema(description = "外部导入CODE")
  private String externalCode;

}
